VOS app
Chapeau
Stappen
- Afspraken
- JavaScript bestandsnamen in kleine letters, hyphenated compounds, namelijk spaties tussen woorden vervangen door verbindingsteken (-)
- Componentnamen:
- functiecomponent: camelcasenotatie
- klassecomponent: pascalnotatie
- GDPR
- We maken de vos (vosa voor Android) applicatie. In de map net boven de map waarin we de app willen maken typen we:
react-native init vos
- De app runnen op een device:
- Android:
- ga naar de map waarin de app staat (
cd vosa
) -
react-native run-android
- ga naar de map waarin de app staat (
- Android:
- VOS navigatie
- De VOS app heeft 3 hoofdviews:
- IndexProcedure
In de map vos/components map maken we een bestand met de naam index-procedure.js. - ViewProcedure
- LoggingIn
- IndexProcedure
- De navigatiestack zetten we op in vos/components/vos.js:
- In de index.js roepen we de App component uit vos.js op:
import app from './components/vos';
- De VOS app heeft 3 hoofdviews:
- We installeren React Navigation
Let erop dat je voor Android het app/src/main/java/com/vosa/MainActivity.java bestand moet aanpassen. - Hulp componenten
- home.style.js
- basic-elements.js
- UI data exporteren we vanuit de module data/ui/index-procedure.js. Met UI data bedoelen we de gegevens die we nodig hebben om de tegels van UI te maken, namelijk de tekst, het icoontje, de target als erop geklikt wordt, enz.
- const homeIndexProcedureData
- const fireIndexProcedureData
- const psychoSocialRiskIndexProcedureData
- const accidentIndexProcedureData
- We deleten App.js.
-
We gebruiken net als in de Cordova implementatie font-iconen. Hoe je die maakt lees je op Add custom icons to your React Native application.
- We maken als eerste component
IndexProcedure
in het bestand components/index-procedure.js.- We testen dit uit door index.js in de root aan te passen:
/** * @format * @lint-ignore-every XPLATJSCOPYRIGHT1 */ import {AppRegistry} from 'react-native'; import app from './components/index-procedure'; import {name as appName} from './app.json'; AppRegistry.registerComponent(appName, () => app);
- We testen dit uit door index.js in de root aan te passen:
- Component
indexProdedure
maken- Eerst zonder props met de data voor de hoofdindex
- Overzicht van dependencies:
-
- IOS
- npm install react-native-vector-icons
- react-native link react-native-vector-icons
- Android
- npm install react-native-vector-icons
- Edit android/app/build.gradle ( NOT android/build.gradle ) and add the following:
apply from: "../../node_modules/react-native-vector-icons/fonts.gradle"
To customize the files being copied, add the following instead:
project.ext.vectoricons = [ iconFontNames: [ 'MaterialIcons.ttf', 'EvilIcons.ttf' ] // Name of the font files you want to copy ] apply from: "../../node_modules/react-native-vector-icons/fonts.gradle"
- IOS
- React Navigation
- Geolocatie is niet echt een dependency. Het is standaard in React aanwezig. Je moet voor het voor Android wel activeren. Voor IOS is het standaard geactiveerd.
- On Android it’s similarly simple, just not enabled by default. In your AndroidManifest.xml you’ll need to add the following permission request:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
-
navigator.geolocation is verwijderd uit React Native >= 6.0
- Installeer: react-native-geolocation-service
- vraag om toestemming van de gebruiker om geolocatie te gebruiken:
- in Android: PermissionsAndroid
- On Android it’s similarly simple, just not enabled by default. In your AndroidManifest.xml you’ll need to add the following permission request:
-
Onder ondertitel
Paragraaf
2019-09-02 14:03:40